vfp中为什么"a">"A"返回值为.F.?

来源:百度知道 编辑:UC知道 时间:2024/05/29 10:37:39

应该是T啊! 你是不是给它们付值了啊! 或者你比较的不是字符型的啊! 字符型的"a">"A"返回值为.T.

是这样的,VFP默认不是按ASCII码进行比较,下面的语句运行一下吧:
?"a"<"A","a"="A","a">"A"
结果是.T. .F. .F.,VFP里面"a"就是要小于"A",这是VFP对字符串比较的规则,它不是简单的对ASCII码进行比较,所以才能在对汉字比较时得到完美效果。

VFP默认顺序是按拼音,此时的顺序是:
字符:aAbBcC..,汉字一律按拼音,包括二级及GBK
设置:
SET COLLATE TO "PINYIN" 设置按拼音顺序
SET COLLATE TO "STROKE" 设置按笔划顺序
SET COLLATE TO "MACHINE" 设置按ASCII码顺序

详细请参考VFP帮助中SET COLLATE TO